Embodiments of the present invention relate generally to methods and systems for interacting with a media server and more particularly to a network and/or protocol agnostic media server control enabler.
Generally speaking, a media server can be defined as a computer or other device that can perform any of a variety of functions on different types of media such as audio, video, or other media. The media may be stored on or by the media server or another computer or device in communication with the media server. Functions performed by a media server can include, for example, storing media, streaming media, mixing media, converting media, controlling the playback of media, e.g., providing VCR-like functions such as fast forward, reverse, pause, etc., controlling access to or participation in the media stream, and/or other media control functions, capturing statistics of the streaming and adjusting streaming, etc. In the most general sense, a media server can be considered to be any resource that provides any such media control functions.
Today, a wide variety of different manufacturers and vendors provide media servers. Consequently, there exists a wide variety of different ways to interact with and/or control media servers of different types. Some media servers can be controlled through strictly proprietary interfaces and/or communication protocols. In other cases, a media server may utilize a standardized interface or protocol for interacting with and/or communicating the media. These standard protocols and/or interface include Netann, Media Session Markup Language (MSML), Media Session Control Markup Language (MSCML), Mass Storage and Control Protocol (MSCP), Media Objects Markup Language (MOML), Media Gateway Control Protocol (MGCP), and others. However, there is no one standard for interfacing or interacting with media servers of different types. That is, while one type of media server can utilize one standardized protocol or interface, other media servers utilize a completely different set of standards. Therefore, building applications that are able to interact with media servers of different types is difficult and can require extensive programming for accommodating the different interfaces and protocols used. Hence, there is a need in the art for improved methods and systems for interacting with a media server on a network and/or protocol agnostic basis.